package Thread;

public class SyncDemo2 {
    public static void main(String[] args) {
      Shop shop = new Shop();
      Shop shop2 = new Shop();
      Thread t1 = new Thread("杨过"){
          @Override
          public void run() {
              shop.buy();
          }
      };
        Thread t2 = new Thread("小龙女"){
            @Override
            public void run() {
                shop2.buy();
            }
        };
        t1.start();
        t2.start();

    }
}
class Shop{
    private Object obj = new Object();
    public void buy(){
        try {
            System.out.println(Thread.currentThread().getName()+"正在挑衣服。。。。。。");
            Thread.sleep(5000);
            synchronized (obj){
                System.out.println(Thread.currentThread().getName()+"正在试衣服。。。。。。");
                Thread.sleep(1000);
                System.out.println(Thread.currentThread().getName()+"出来。。。。。。");
            }
            Thread.sleep(2000);
            System.out.println(Thread.currentThread().getName()+"结账离开。。。。。。");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}